1. Field of the Invention
The present invention relates generally to the field of software web browsers and images displayable therein. More specifically, the present invention relates to a system and method for ensuring that a web browser displays the highest ranked image format possible for an image.
2. Description of Related Background Art
The World Wide Web continues to become mainstream and is used by more and more people each day. In fact, publishers of news and other information content often consider supporting and maintaining a website as vital to their business. A single website may be visited thousands of times a day. Each visit includes a request for a web page from a client web browser.
While standard protocols are used for communication between the web browsers and the web server implementing the web site, the web browsers (or simply browsers) may vary greatly. Web browsers are produced by various vendors. Generally, all browsers support basic image display functionality. For example, virtually all browsers support GIF (Graphic Interchange Format) and JPEG (Joint Photographic Experts Group). While some image formats such as PNG (Portable Network Graphics), are supported in certain browsers but not in others.
However, other image formats are unsupported by the browser directly. Instead, a browser may allow for a plug-in to be loaded to support image formats such as SVG (Scalable Vector Graphics), Macromedia's® Flash, and the like. These image formats may be of higher quality, include different interactive aspects, or may be new emerging technologies.
Developers for the web site desire to produce web pages which have mass appeal, meaning virtually all users who come to the web site can view the content of the website. Therefore, although the developers may prefer to use higher quality or more advanced image formats, the developers are conventionally forced to develop web pages for the lowest common denominator among the user's browsers to avoid disappointing any users.
To resolve this problem, web page developers may place computer-executable redirection code such as JavaScript in their web pages. Once a web page is read or interpreted by the browser, the computer-executable redirection code detects which image formats are supported by a user's browser. Based on the image formats supported by the browser, the web page redirects the user to another web page which provides the same image(s) but in a supported image format preferred by the developer.
Alternatively, the web page may be programmed to display a frame within which another page is loaded containing the image in a supported format such as GIF. This technique is referred to as “framing”.
Unfortunately, redirection has limitations. Redirection causes a delay as the other web page is loaded which annoys some users. Redirection requires maintenance of a separate web page for each image format available for redirection. Similarly, framing requires that separate web pages be maintained. This maintenance can significantly magnify a developer's workload if a new web page is added or updated on the website.
The maintenance overhead for multiple versions of web pages can increase exponentially. For example, a web page including multiple images in different formats may require that a separate web page for each combination of images having different formats be created. These combinations range from a web page in which all the images are of an advanced format to one in which all the images are of the most basic format.
The maintenance overhead problem is compounded when a website has content which changes rapidly or is produced on the fly. For example, new websites may add or change several hundreds of images in very short time periods depending on the nature of the news. If new web pages are required to support redirection for images in a number of formats, creating and maintaining these website may be impossible, or at least highly susceptible to errors.
In addition, different browser types may require different sets of computer-executable redirection code to detect which image formats are supported. For example, Microsoft's Internet Explorer® browser does not allow use of JavaScript to determine which plug-ins are loaded and enabled. Instead, VBScript (Visual Basic Script) or JScript must be used. Thus, the developer must include both VBScript or JScript and JavaScript in the web page because the developer does not know which type of browser will request the web page. This extra code increases the size of the web page and can slow performance for users.
Even though a browser includes a certain plug-in, the plug-in may not be enabled. Most browsers allow the user to determine which plug-ins are enabled. Therefore, the computer-executable redirection code must include code to determine whether an available plug-in is also enabled.
However, a principal limitation of redirection is the development overhead placed on web page developers. The developers must either include the redirection code in each web page with images, use the lowest common denominator for the image formats, or exclude certain users from access to images on the web pages.
Accordingly, what is needed is a system and method that overcomes the problems and disadvantages of the prior art. In particular, the system and method should allow a developer to develop one version of a web page which includes computer-executable code that ensures that the most preferred format for images on the page is used to display the images without using redirection. In addition, the system and method should automatically determine whether the most preferred image format is supported and enabled in a particular user's web browser and automatically request images on the web page in the most preferred image format which is supported and enabled. Furthermore, the system and method should provide an application programming interface which allows a web page developer to implement the system and method using a minimal amount of computer-executable code. The system and method should allow for display of the most preferred image format for both static and dynamically generated images. And, the system and method should automatically display images of the web page in the next most preferred image format without any additional code written by the web page developer.